
insert into asm_aegg_estrai_dati
select 

       rk.progressivo_voce,rk.descrizione_componente,sum(rk.quantita_scaglione) qta_sca,
       concat('IT018E',concat(substr(concat('00000000000',fo.codice_allacciamento),-7,7),substr(fo.progressivo_utenza,-1,1))) POD,
       contratti.codice_contratto,
       contratti.potenza_impegnata,
       
        RK.codice_bolletta,
        contratti.codice_tipo_uso,contratti.codice_tariffa,contratti.codice_uso,
        contratti.data_avvio_richiesto,
        case when trunc(contratti.DATA_AVVIO_RICHIESTO) < to_date('01/01/^Anno Bollettazione aaaa;N;Numerico^^','dd/mm/yyyy') then 
        to_date('01/01/^Anno Bollettazione aaaa;N;Numerico;1^^','dd/mm/yyyy') else trunc(contratti.data_avvio_richiesto) end dar, 
       case when contratti.stato_contratto = 'A' or contratti.stato_contratto = 'S' or contratti.stato_contratto = 'F' 
       then to_date('31/12/9999','dd/mm/yyyy')
        else trunc(contratti.data_chiusura_richiesta) end data_chiusura_richiesta,
        sum(RK.TARIFFA_COMPONENTE*QUANTITA_SCAGLIONE) imponibile
from db5.contratti@pgu3, --bollette, 
tmpmark RK,db5.forniture@pgu3 fo
where fo.CODICE_GESTIONE = contratti.codice_gestione
          and fo.CODICE_SERVIZIO = contratti.codice_servizio
          and fo.CODICE_CONTRATTO = contratti.codice_contratto
          and fo.CODICE_GESTIONE=contratti.codice_gestione
               
          
          
           and rk.anno_bollettazione =^Anno Bollettazione aaaa;N;Numerico;1^^
   
           and  contratti.codice_gestione = 'UNRG '  
           and contratti.codice_servizio = 'E'
           and rk.PROGRESSIVO_VOCE in ('010','010TRAS','010VEND','120','010DISP3')
           and rk.contratto_estratto = contratti.codice_contratto
           --and rk.descrizione_componente IN( 'CCA','PE','PD','PPE1','PPE2','DISP31','DISP32','CAD','UC1','DISP3','PPE','PCV3')
               

                      
           group by 
           concat('IT018E',concat(substr(concat('00000000000',fo.codice_allacciamento),-7,7),substr(fo.progressivo_utenza,-1,1))),
           contratti.codice_contratto,
 contratti.potenza_impegnata,
       RK.codice_bolletta,
        contratti.codice_tipo_uso,contratti.codice_tariffa,contratti.codice_uso,
        contratti.data_avvio_richiesto,
  case when contratti.stato_contratto = 'A' or contratti.stato_contratto = 'S' or contratti.stato_contratto = 'F' 
       then to_date('31/12/9999','dd/mm/yyyy')
        else trunc(contratti.data_chiusura_richiesta) end,
        rk.progressivo_voce,
        rk.descrizione_componente